/**
  ******************************************************************************
  * @file    xxx.c 
  * @author  SD Electronics xxx
  * @version V1.0
  * @date    xx-xx-xx
  * @brief   xxxxxxxxxxxxxxxxxx.
  ******************************************************************************
  */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef _SD_COMMON_H
#define _SD_COMMON_H


/* Includes ------------------------------------------------------------------*/


/* fr lib */
#include "stdarg.h"
#include <stdint.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "sys_utils.h"

/* 此头文件必须放到 mesh_api.h之前*/
#include "jump_table.h"

#include "os_task.h"
#include "os_msg_q.h"
#include "os_mem.h"
#include "os_timer.h"
#include "os_msg_q.h"

/* SHA256 */
#include "sha256.h"

#include "co_printf.h"
#include "co_log.h"
#include "co_list.h"
#include "flash_usage_config.h"

#include "driver_adc.h"
#include "driver_iic.h"
#include "driver_uart.h"
#include "driver_gpio.h"
#include "driver_uart.h"
#include "driver_iomux.h"
#include "driver_plf.h"
#include "driver_system.h"
#include "driver_pwm.h"
#include "driver_pmu_pwm.h"


/* mesh else */
#include "mesh_api.h"
#include "mesh_model_msg.h"
#include "sig_mesh_info.h"

#include "gap_api.h"
#include "simple_gatt_service.h"
#include "ble_simple_peripheral.h"
#include "ota_service.h"
#include "button.h"


/* SD app-------------------------------------------------------------------- */
#include "sd_app_task.h"
#include "sd_app_dev.h"
#include "sd_app_power.h"
#include "sd_app_007DJBC.h"
#include "sd_app_032FBL.h"
#include "sd_ringbuf.h"

/* SD Proc-----------------------------------------------------------------*/
#include "sd_proc_032FBL.h"

/* SD DEV---------------------------------------------------------------- */
#include "sd_dev_uart.h"
#include "sd_dev_i2c.h"
#include "sd_dev_NTC.h"
#include "sd_dev_sh3001.h"
#include "sd_dev_bt.h"
#include "sd_dev_ble.h"
#include "sd_dev_key.h"
#include "sd_dev_adc.h"
#include "sd_dev_hall.h"
#include "sd_dev_beep.h"
#include "sd_dev_led.h"
#include "sd_dev_tm1621c.h"
#include "sd_dev_mesh.h"

#include "sd_sim_i2c.h"
#include "sd_math.h"
#include "sd_at_cmd.h"
#include "sd_profile_at.h"
#include "sd_profile_fbl.h"
#include "sd_dev_template.h"//Template

/* thirty part sensor */
#include "SH3001.h"


extern uint16_t user_task_id;

/* global extern */
//
extern ST_USART_CTRL g_stUsartCtrl;
extern ST_CTR_FUN g_stUartCtlFUN;

extern ST_BT_CTRL g_stBTCtrl;
extern ST_CTR_FUN g_stBTCtlFUN;

extern ST_I2C_CTRL g_stI2CCtrl;
extern ST_CTR_FUN g_stI2CCtlFUN;

extern ST_SH3001_CTRL g_stSH3001Ctrl;
extern ST_CTR_FUN g_stSH3001CtlFUN;

extern ST_NTC_CTRL g_stNTCCtrl;
extern ST_CTR_FUN g_stNTCCtlFUN;

extern ST_KEY_CTRL g_stKEYCtrl;
extern ST_CTR_FUN g_stKEYCtlFUN;

extern ST_BLE_CTRL g_stBLECtrl;
extern ST_CTR_FUN g_stBLECtlFUN;

extern ST_ADC_CTRL g_stADCCtrl;
extern ST_CTR_FUN g_stADCCtlFUN;

extern ST_Beep_CTRL g_stBeepCtrl;
extern ST_CTR_FUN g_stBeepCtlFUN;

extern ST_LED_CTRL g_stLEDCtrl;
extern ST_CTR_FUN g_stLEDCtlFUN;

extern ST_TM1621C_CTRL g_sttm1621cCtrl;
extern ST_CTR_FUN g_sttm1621cCtlFUN;

extern ST_HALL_CTRL g_stHALLCtrl;
extern ST_CTR_FUN g_stHALLCtlFUN;

extern ST_FBL_CTRL st_FBL_Ctrl;

extern ST_Mesh_CTRL g_stMeshCtrl;
extern ST_CTR_FUN g_stMeshCtlFUN;



#endif
/******************* (C) COPYRIGHT 2011 ShenZhenShiding electronics **************************/
